#pragma once
#include "Module.h"
#include "Window.h"

namespace Engine
	{
#define WINDOW 0xf1
	class ModuleManager
		{
		friend class Core;
		private:
			typedef map<int, Module*> Modules;
			typedef pair<int, Module*> Item;
			Modules modules;

			ModuleManager(void);
			~ModuleManager(void);
			
			void registerStandartModules();
			bool registerModule(int id, Module *module);

			bool releaseModule(int id);
			void releaseModules();

			bool hasModule(int id);
		public:
			Module* getModule(int id);
			void print();
		};
	}

